package xyy.d3erpapi.pojo.d3po;

import lombok.Data;

import java.math.BigDecimal;
import java.util.List;

@Data
public class OrderDTO {

    // 订单信息
    private String refOid;                 // 订单编号
    private String payNo;                  // 支付单号
    private BigDecimal payment;             // 订单实付金额
    private String receivedPayment;         // 已收款金额
    private String postFee;                 // 快递费用
    private String serviceFee;              // 服务费
    private String receiverName;            // 收货人姓名
    private String receiverCountry;         // 收货人国家
    private String receiverState;           // 收货人省份
    private String receiverCity;            // 收货人城市
    private String receiverDistrict;        // 收货人区县
    private String receiverTown;            // 收货人街道
    private String receiverAddress;         // 收货人详细地址
    private String receiverMobile;          // 收货人手机号
    private String receiverPhone;           // 收货人电话号码
    private String receiverZip;             // 收货人邮编
    private String orderTime;               // 下单时间
    private String modifyTime;              // 修改时间
    private String openBuyerId;             // 平台买家id
    private String openBuyerNick;           // 平台买家昵称
    private String payTime;                 // 支付时间
    private String shippingTime;            // 发货时间
    private String status;                  // 订单状态
    private String refundStatus;            // 退款状态
    private String flag;                    // 旗帜
    private String sellerMemo;              // 卖家备注
    private String buyerMemo;               // 买家留言
    private String logisticsCompany;        // 物流公司
    private String logisticsOrderNo;        // 物流单号
    private OrderInvoice orderInvoice;      // 发票信息
    private List<LineItemDTO> lines;       // 货品行
    private String wholesalerId;            // 分销商ID
    private String businessType;            // 业务类型
    private String type;                    // 订单类型
    private String posCode;                 // 店铺编码

    @Data
    public static class OrderInvoice {
        private Integer billType;             // 发票类型
        private Integer kindType;             // 发票种类
        private String billTitle;              // 发票抬头
        private String billContent;            // 发票内容
        private String taxpayer;               // 纳税人识别号
    }

    @Data
    public static class LineItemDTO {
        private String refSpuId;              // 平台SPU_ID
        private String refSkuId;              // 平台SKU_ID
        private String sellPrice;              // sku售价
        private String price;                  // sku原价
        private String totalSellPrice;         // 售价合计
        private String totalPrice;             // 原价合计
        private Integer num;                   // 数量
        private String title;                  // 货品标题
        private String outerId;                // 商家编码
        private String standards;              // 规格名称
        private String refOlId;                // 源子订单id
        private String refundStatus;           // 货品退款状态
        private String discountFee;            // 子订单优惠金额
        private String status;                 // 子订单状态
        private String businessType;
        private String type;
        private  String posCode;
    }
}